perm filename HIDE.LAP[900,BGB] blob
sn#129593 filedate 1974-11-11 generic text, type T, neo UTF8
(SETQ IBASE (ADD1 7))
(DEFPROP ALL (NIL MAPPENDCAR INTER UNRES MMMM POINT-AND-ODD-VERTEX-IN-SAME-HALF-PLANE? CORNER-WITHIN-TRIANGLE? M}
APPENDLIST LISTASSOC DELETE GREATERPEQ CORNER-WITHIN-ANY-TRIANGLE? SPLIT-POLYGON-INTO-TRIANGLES MIDPOINT CHEAP-S}
PLICE ENDPOINTS-BEYOND-WINDOW? ENDPOINTS-WITHIN-WINDOW? IS-EACH-CORNER-OF-WINDOW-WITHIN-THE-POLYGON? IS-WINDOW-S}
URROUNDED-BY-CIRCUMSCRIBED-RECTANGLE? *LEAST *MOST LEAST MOST DETMAT SAMEPOINT? CLIP-LINE-SEGMENT XXXXXX NIL-BEY}
OND-DEPTH-BOUND SURROUNDS-WINDOW? ZDEPTH EXTREMA CLIP2 ENDPOINTS SET-INTERSECTION KRAMER SPLICE2 SPLICE1 ONCEONL}
Y ORDLOW UNRESOLVED SMALL? SIMPLE? TRIVAIL CLIP ABOVE HIDE-POLY SURROUND DIW-PROPERTY MAPORCAR IS-ANY-CORNER-OF-}
WINDOW-WITHIN-THE-POLYGON? WINDOW-IN-OPPOSITE-HALF-PLANE? OUTSIDE TWO-INTERSECTING-PLANES? FORM-NEW-EDGE TWO-POL}
Y-WITH-COMMON-EDGE ENDS-PROPERTY INITIALIZE-CIRCUMSCRIBED-RECTANGLE-PROPERTY INITIALIZE-PLANE-OF-POLYGON-PROPERT}
IES SUPERSPLICE2 SUPERSPLICE1 WARNOCK INITPOLY HIDDEN-LINE) VALUE)
(LAP MAPPENDCAR SUBR)
(PUSH P 1)(PUSH P 2)(EXCH 1 2)(JUMPE 1 G0001)(HLRZ@ 1 0 P)(CALLF@ 1 -1 P)(HRRZ@ 2 0 P)
(PUSH P 1)(MOVE 1 -2 P)(CALL 2 (E MAPPENDCAR))(MOVE 2 1)(POP P 1)(CALL 2 (E *APPEND))
G0002
G0001 (SUB P (C 0 0 2 2))(POPJ P)
NIL
(DEFPROP INTER (NIL) VALUE)
(DEFPROP UNRES (NIL) VALUE)
(LAP MMMM SUBR)
(JSP 6 SPECBIND)(0 1 (SPECIAL X))(0 2 (SPECIAL Y))(HLRZ@ 1 3)(CALL 1 (E CADR))(PUSH P 3)
(CALL 2 (E *DIF))(MOVEI 2 (QUOTE 0.0))(CALL 2 (E *DIF))(HRRZ@ 2 0 P)(HLRZ@ 2 2)(HLRZ@ 2 2)
(PUSH P 1)(HLRZ@ 1 -1 P)(HLRZ@ 1 1)(CALL 2 (E *DIF))(POP P 2)(CALL 2 (E *TIMES))(MOVE 2 (SPECIAL X))
(PUSH P 1)(HLRZ@ 1 -1 P)(HLRZ@ 1 1)(CALL 2 (E *DIF))(MOVEI 2 (QUOTE 0.0))(CALL 2 (E *DIF))
(HRRZ@ 2 -1 P)(HLRZ@ 2 2)(HRRZ@ 2 2)(HLRZ@ 2 2)(PUSH P 1)(HLRZ@ 1 -2 P)(CALL 1 (E CADR))
(CALL 2 (E *DIF))(POP P 2)(CALL 2 (E *TIMES))(MOVE 2 1)(POP P 1)(SUB P (C 0 0 1 1))
(CALL 2 (E *DIF))(JRST 0 SPECSTR)
NIL
(LAP POINT-AND-ODD-VERTEX-IN-SAME-HALF-PLANE? SUBR)
(HRRZ@ 3 1)(MOVE 2 (SPECIAL Y))(PUSH P 1)(MOVE 1 (SPECIAL X))(CALL 3 (E MMMM))(HRRZ@ 3 0 P)
(HLRZ@ 2 0 P)(HRRZ@ 2 2)(HLRZ@ 2 2)(PUSH P 1)(HLRZ@ 1 -1 P)(HLRZ@ 1 1)(CALL 3 (E MMMM))
(POP P 2)(CALL 2 (E *TIMES))(CALL 1 (E MINUSP))(JUMPE 1 G0001)(TDZA 1 1)
G0001 (MOVEI 1 T)(SUB P (C 0 0 1 1))(POPJ P)
NIL
(LAP CORNER-WITHIN-TRIANGLE? SUBR)
(PUSH P 1)(CALL 1 (E POINT-AND-ODD-VERTEX-IN-SAME-HALF-PLANE?))(JUMPE 1 G0002)(MOVE 1 0 P)
(CALL 1 (E REVERSE))(CALL 1 (E POINT-AND-ODD-VERTEX-IN-SAME-HALF-PLANE?))(JUMPE 1 G0002)
(HLRZ@ 1 0 P)(CALL 1 (E NCONS))(MOVE 2 1)(HRRZ@ 1 0 P)(CALL 2 (E *APPEND))(CALL 1 (E POINT-AND-ODD-VERTE}
X-IN-SAME-HALF-PLANE?))(JUMPN 1 G0001)
G0002 (TDZA 1 1)
G0001 (MOVEI 1 T)(SUB P (C 0 0 1 1))(POPJ P)
NIL
(LAP MAPPENDLIST SUBR)
(PUSH P 1)(PUSH P 2)(EXCH 1 2)(JUMPE 1 G0001)(MOVE 1 0 P)(CALLF@ 1 -1 P)(HRRZ@ 2 0 P)
(PUSH P 1)(MOVE 1 -2 P)(CALL 2 (E MAPPENDLIST))(MOVE 2 1)(POP P 1)(CALL 2 (E *APPEND))
G0002
G0001 (SUB P (C 0 0 2 2))(POPJ P)
NIL
(LAP LISTASSOC#1 SUBR)
(PUSH P 1)(CALL 1 (E NCONS))(HLRZ@ 2 0 P)(HLRZ@ 2 2)(SUB P (C 0 0 1 1))(JCALL 2 (E XCONS))
NIL
(LAP LISTASSOC SUBR)
(MOVE 2 1)(MOVEI 1 (QUOTE LISTASSOC#1))(JCALL 2 (E MAPPENDCAR))
NIL
(LAP DELETE SUBR)
(PUSH P 1)(PUSH P 2)(EXCH 1 2)(JUMPE 1 G0001)(HLRZ@ 1 0 P)(CAME 1 -1 P)(JRST 0 G0005)
(MOVEI 1 (QUOTE NIL))(JRST 0 G0004)
G0005 (HLRZ@ 1 0 P)(CALL 1 (E NCONS))
G0007
G0004 (HRRZ@ 2 0 P)(PUSH P 1)(MOVE 1 -2 P)(CALL 2 (E DELETE))(MOVE 2 1)(POP P 1)(CALL 2 (E *APPEND))
G0002
G0001 (SUB P (C 0 0 2 2))(POPJ P)
NIL
(LAP GREATERPEQ SUBR)
(PUSH P 1)(PUSH P 2)(PUSH P 3)(JSP 6 SPECBIND)(0 1 (SPECIAL X))(0 2 (SPECIAL Y))(JUMPE 1 G0004)
(CALL 2 (E *GREAT))(JUMPE 1 G0004)(MOVE 2 (SPECIAL Y))(JRST 0 G0003)
G0004 (MOVEI 2 (QUOTE NIL))
G0003 (PUSHJ P SPECSTR)(PUSH P 2)(MOVE 2 -1 P)(POP P 1)(CALL 2 (E *GREAT))(JUMPN 1 G0001)
(MOVE 2 -1 P)(MOVE 1 -2 P)(CALL 2 (E EQUAL))(JUMPN 1 G0001)(MOVE 2 0 P)(MOVE 1 -1 P)
(CALL 2 (E EQUAL))(JUMPN 1 G0001)(TDZA 1 1)
G0001 (MOVEI 1 T)(SUB P (C 0 0 3 3))(POPJ P)
NIL
(LAP CORNER-WITHIN-ANY-TRIANGLE? SUBR)
(JSP 6 SPECBIND)(0 1 (SPECIAL TRIANGLE-LIST))(0 2 (SPECIAL X))(0 3 (SPECIAL Y))(JUMPE 1 G0001)
(HLRZ@ 1 1)(CALL 1 (E CORNER-WITHIN-TRIANGLE?))(JUMPE 1 G0002)(MOVEI 1 (QUOTE T))
(JRST 0 G0001)
G0002 (MOVE 3 (SPECIAL Y))(MOVE 2 (SPECIAL X))(HRRZ@ 1 (SPECIAL TRIANGLE-LIST))(CALL 3 (E CORNER-WITHIN-ANY-TRIA}
NGLE?))
G0005
G0001 (JRST 0 SPECSTR)
NIL
(LAP SPLIT-POLYGON-INTO-TRIANGLES#1 SUBR)
(PUSH P 1)(CALL 1 (E LENGTH))(MOVEI 2 (QUOTE 3))(CALL 2 (E *LESS))(JUMPE 1 G0002)
(MOVEI 1 (QUOTE NIL))(JRST 0 G0001)
G0002 (MOVE 1 0 P)(CALL 1 (E LAST))(HRRZ@ 2 0 P)(HLRZ@ 2 2)(CALL 2 (E XCONS))(HLRZ@ 2 0 P)
(CALL 2 (E XCONS))(CALL 1 (E NCONS))
G0005
G0001 (SUB P (C 0 0 1 1))(POPJ P)
NIL
(LAP SPLIT-POLYGON-INTO-TRIANGLES#2 SUBR)
(MOVEI 2 (QUOTE IMAGE))(JCALL 2 (E GET))
NIL
(LAP SPLIT-POLYGON-INTO-TRIANGLES SUBR)
(MOVEI 2 (QUOTE CORNERS))(MOVE 1 (SPECIAL POLYGON))(CALL 2 (E GET))(EXCH 2 1)(MOVEI 1 (QUOTE SPLIT-POLYG}
ON-INTO-TRIANGLES#2))(CALL 2 (E MAPCAR))(MOVE 2 1)(MOVEI 1 (QUOTE SPLIT-POLYGON-INTO-TRIANGLES#1))
(CALL 2 (E MAPPENDLIST))(MOVEM 1 (SPECIAL TRIANGLE-LIST))(POPJ P)
NIL
(LAP MIDPOINT SUBR)
(JSP 6 SPECBIND)(0 1 (SPECIAL LINE))(HRRZ@ 2 1)(HLRZ@ 2 2)(CALL 1 (E CAAR))(CALL 2 (E *PLUS))
(MOVEI 2 (QUOTE 2))(CALL 2 (E *QUO))(HRRZ@ 2 (SPECIAL LINE))(HRRZ@ 2 2)(PUSH P 1)
(HLRZ@ 1 (SPECIAL LINE))(HRRZ@ 1 1)(CALL 2 (E *PLUS))(MOVEI 2 (QUOTE 2))(CALL 2 (E *QUO))
(POP P 2)(CALL 2 (E XCONS))(JRST 0 SPECSTR)
NIL
(LAP CHEAP-SPLICE SUBR)
(PUSH P 1)(PUSH P 2)(JUMPN 1 G0002)(EXCH 1 2)(JRST 0 G0001)
G0002 (JUMPN 2 G0003)(JRST 0 G0001)
G0003 (HRRZ@ 2 0 P)(HLRZ@ 1 -1 P)(CALL 2 (E CONS))
G0004
G0001 (SUB P (C 0 0 2 2))(POPJ P)
NIL
(LAP ENDPOINTS-BEYOND-WINDOW? SUBR)
(MOVE 2 (SPECIAL XHIGH))(HLRZ@ 1 (SPECIAL LINE))(HLRZ@ 1 1)(CALL 2 (E *GREAT))(JUMPE 1 G0003)
(MOVE 2 (SPECIAL XHIGH))(HRRZ@ 1 (SPECIAL LINE))(HLRZ@ 1 1)(CALL 2 (E *GREAT))(JUMPN 1 G0001)
G0003 (MOVE 2 (SPECIAL YHIGH))(HLRZ@ 1 (SPECIAL LINE))(HRRZ@ 1 1)(CALL 2 (E *GREAT))(JUMPE 1 G0008)
(MOVE 2 (SPECIAL YHIGH))(HRRZ@ 1 (SPECIAL LINE))(HRRZ@ 1 1)(CALL 2 (E *GREAT))(JUMPN 1 G0001)
G0008 (MOVE 2 (SPECIAL XLOW))(HLRZ@ 1 (SPECIAL LINE))(HLRZ@ 1 1)(CALL 2 (E *LESS))(JUMPE 1 G0013)
(MOVE 2 (SPECIAL XLOW))(HRRZ@ 1 (SPECIAL LINE))(HLRZ@ 1 1)(CALL 2 (E *LESS))(JUMPN 1 G0001)
G0013 (MOVE 2 (SPECIAL YLOW))(HLRZ@ 1 (SPECIAL LINE))(HRRZ@ 1 1)(CALL 2 (E *LESS))(JUMPE 1 G0018)
(MOVE 2 (SPECIAL YLOW))(HRRZ@ 1 (SPECIAL LINE))(HRRZ@ 1 1)(CALL 2 (E *LESS))(JUMPN 1 G0001)
G0018 (TDZA 1 1)
G0001 (MOVEI 1 T)(POPJ P)
NIL
(LAP ENDPOINTS-WITHIN-WINDOW? SUBR)
(MOVE 3 (SPECIAL XLOW))(HLRZ@ 2 (SPECIAL LINE))(HLRZ@ 2 2)(MOVE 1 (SPECIAL XHIGH))
(CALL 3 (E GREATERPEQ))(JUMPE 1 G0002)(MOVE 3 (SPECIAL XLOW))(HRRZ@ 2 (SPECIAL LINE))
(HLRZ@ 2 2)(MOVE 1 (SPECIAL XHIGH))(CALL 3 (E GREATERPEQ))(JUMPE 1 G0002)(MOVE 3 (SPECIAL YLOW))
(HLRZ@ 2 (SPECIAL LINE))(HRRZ@ 2 2)(MOVE 1 (SPECIAL YHIGH))(CALL 3 (E GREATERPEQ))
(JUMPE 1 G0002)(MOVE 3 (SPECIAL YLOW))(HRRZ@ 2 (SPECIAL LINE))(HRRZ@ 2 2)(MOVE 1 (SPECIAL YHIGH))
(CALL 3 (E GREATERPEQ))(JUMPN 1 G0001)
G0002 (TDZA 1 1)
G0001 (MOVEI 1 T)(POPJ P)
NIL
(LAP IS-EACH-CORNER-OF-WINDOW-WITHIN-THE-POLYGON? SUBR)
(JSP 6 SPECBIND)(0 0 (SPECIAL TRIANGLE-LIST))(CALL 0 (E SPLIT-POLYGON-INTO-TRIANGLES))
(MOVE 3 (SPECIAL YLOW))(MOVE 2 (SPECIAL XLOW))(MOVE 1 (SPECIAL TRIANGLE-LIST))(CALL 3 (E CORNER-WITHIN-A}
NY-TRIANGLE?))(JUMPE 1 G0006)(MOVE 3 (SPECIAL YHIGH))(MOVE 2 (SPECIAL XLOW))(MOVE 1 (SPECIAL TRIANGLE-LIST))
(CALL 3 (E CORNER-WITHIN-ANY-TRIANGLE?))(JUMPE 1 G0006)(MOVE 3 (SPECIAL YLOW))(MOVE 2 (SPECIAL XHIGH))
(MOVE 1 (SPECIAL TRIANGLE-LIST))(CALL 3 (E CORNER-WITHIN-ANY-TRIANGLE?))(JUMPE 1 G0006)
(MOVE 3 (SPECIAL YHIGH))(MOVE 2 (SPECIAL XHIGH))(MOVE 1 (SPECIAL TRIANGLE-LIST))(CALL 3 (E CORNER-WITHIN}
-ANY-TRIANGLE?))(JUMPN 1 G0005)
G0006 (TDZA 1 1)
G0005 (MOVEI 1 T)(JRST 0 SPECSTR)
NIL
(LAP IS-WINDOW-SURROUNDED-BY-CIRCUMSCRIBED-RECTANGLE? SUBR)
(MOVEI 2 (QUOTE XHIGH))(MOVE 1 (SPECIAL POLYGON))(CALL 2 (E GET))(MOVE 2 (SPECIAL XHIGH))
(CALL 2 (E *GREAT))(JUMPE 1 G0002)(MOVEI 2 (QUOTE YHIGH))(MOVE 1 (SPECIAL POLYGON))
(CALL 2 (E GET))(MOVE 2 (SPECIAL YHIGH))(CALL 2 (E *GREAT))(JUMPE 1 G0002)(MOVEI 2 (QUOTE XLOW))
(MOVE 1 (SPECIAL POLYGON))(CALL 2 (E GET))(MOVE 2 (SPECIAL XLOW))(CALL 2 (E *LESS))
(JUMPE 1 G0002)(MOVEI 2 (QUOTE YLOW))(MOVE 1 (SPECIAL POLYGON))(CALL 2 (E GET))(MOVE 2 (SPECIAL YLOW))
(CALL 2 (E *LESS))(JUMPN 1 G0001)
G0002 (TDZA 1 1)
G0001 (MOVEI 1 T)(POPJ P)
NIL
(LAP *LEAST SUBR)
(PUSH P 1)(PUSH P 2)(JUMPN 2 G0002)(JRST 0 G0001)
G0002 (HLRZ@ 2 2)(CALL 2 (E *GREAT))(JUMPE 1 G0003)(HRRZ@ 2 0 P)(HLRZ@ 1 0 P)(CALL 2 (E *LEAST))
(JRST 0 G0001)
G0003 (HRRZ@ 2 0 P)(MOVE 1 -1 P)(CALL 2 (E *LEAST))
G0009
G0001 (SUB P (C 0 0 2 2))(POPJ P)
NIL
(LAP *MOST SUBR)
(PUSH P 1)(PUSH P 2)(JUMPN 2 G0002)(JRST 0 G0001)
G0002 (HLRZ@ 2 2)(CALL 2 (E *LESS))(JUMPE 1 G0003)(HRRZ@ 2 0 P)(HLRZ@ 1 0 P)(CALL 2 (E *MOST))
(JRST 0 G0001)
G0003 (HRRZ@ 2 0 P)(MOVE 1 -1 P)(CALL 2 (E *MOST))
G0009
G0001 (SUB P (C 0 0 2 2))(POPJ P)
NIL
(LAP LEAST SUBR)
(MOVE 2 1)(MOVEI 1 (QUOTE 77777777777))(JCALL 2 (E *LEAST))
NIL
(LAP MOST SUBR)
(MOVE 2 1)(MOVEI 1 (QUOTE -77777777777))(JCALL 2 (E *MOST))
NIL
(LAP DETMAT SUBR)
(PUSH P 1)(HLRZ@ 1 1)(PUSH P 2)(HRRZ@ 2 3)(HRRZ@ 2 2)(HLRZ@ 2 2)(PUSH P 1)(HRRZ@ 1 -1 P)
(HLRZ@ 1 1)(PUSH P 3)(CALL 2 (E *TIMES))(HRRZ@ 2 -2 P)(HRRZ@ 2 2)(HLRZ@ 2 2)(PUSH P 1)
(HRRZ@ 1 -1 P)(HLRZ@ 1 1)(CALL 2 (E *TIMES))(MOVE 2 1)(POP P 1)(CALL 2 (E *DIF))(MOVEI 2 (QUOTE 0.0))
(CALL 2 (E *DIF))(MOVE 2 -1 P)(CALL 2 (E *TIMES))(MOVEM 1 -1 P)(HLRZ@ 1 -2 P)(CALL 1 (E MINUS))
(HRRZ@ 2 0 P)(HRRZ@ 2 2)(HLRZ@ 2 2)(PUSH P 1)(HRRZ@ 1 -4 P)(HLRZ@ 1 1)(CALL 2 (E *TIMES))
(HRRZ@ 2 -4 P)(HRRZ@ 2 2)(HLRZ@ 2 2)(PUSH P 1)(HRRZ@ 1 -2 P)(HLRZ@ 1 1)(CALL 2 (E *TIMES))
(MOVE 2 1)(POP P 1)(CALL 2 (E *DIF))(POP P 2)(CALL 2 (E *TIMES))(MOVE 2 -1 P)(CALL 2 (E *PLUS))
(MOVEM 1 -1 P)(HLRZ@ 1 0 P)(HRRZ@ 2 -2 P)(HRRZ@ 2 2)(HLRZ@ 2 2)(MOVEM 1 0 P)(HRRZ@ 1 -3 P)
(HLRZ@ 1 1)(CALL 2 (E *TIMES))(HRRZ@ 2 -3 P)(HRRZ@ 2 2)(HLRZ@ 2 2)(MOVEM 1 -3 P)(HRRZ@ 1 -2 P)
(HLRZ@ 1 1)(CALL 2 (E *TIMES))(MOVE 2 1)(EXCH 1 -3 P)(CALL 2 (E *DIF))(POP P 2)(CALL 2 (E *TIMES))
(POP P 2)(SUB P (C 0 0 2 2))(JCALL 2 (E *PLUS))
NIL
(LAP SAMEPOINT? SUBR)
(PUSH P 1)(PUSH P 2)(HLRZ@ 2 2)(HLRZ@ 1 1)(CALL 2 (E *DIF))(CALL 1 (E ABS))(MOVEI 2 (QUOTE 1.0))
(CALL 2 (E *LESS))(JUMPE 1 G0002)(HRRZ@ 2 0 P)(HRRZ@ 1 -1 P)(CALL 2 (E *DIF))(CALL 1 (E ABS))
(MOVEI 2 (QUOTE 1.0))(CALL 2 (E *LESS))(JUMPN 1 G0001)
G0002 (TDZA 1 1)
G0001 (MOVEI 1 T)(SUB P (C 0 0 2 2))(POPJ P)
NIL
(LAP CLIP-LINE-SEGMENT SUBR)
(JSP 6 SPECBIND)(0 1 (SPECIAL LINE))(CALL 0 (E ENDPOINTS-WITHIN-WINDOW?))(JUMPE 1 G0002)
(MOVE 1 (SPECIAL LINE))(JRST 0 G0001)
G0002 (CALL 0 (E ENDPOINTS-BEYOND-WINDOW?))(JUMPE 1 G0004)(MOVEI 1 (QUOTE NIL))(JRST 0 G0001)
G0004 (HRRZ@ 2 (SPECIAL LINE))(HLRZ@ 1 (SPECIAL LINE))(CALL 2 (E SAMEPOINT?))(JUMPE 1 G0006)
(MOVEI 1 (QUOTE NIL))(JRST 0 G0001)
G0006 (HLRZ@ 1 (SPECIAL LINE))(PUSH P 1)(MOVE 1 (SPECIAL LINE))(CALL 1 (E MIDPOINT))(POP P 2)
(CALL 2 (E XCONS))(CALL 1 (E CLIP-LINE-SEGMENT))(PUSH P 1)(MOVE 1 (SPECIAL LINE))
(CALL 1 (E MIDPOINT))(HRRZ@ 2 (SPECIAL LINE))(CALL 2 (E CONS))(CALL 1 (E CLIP-LINE-SEGMENT))
(MOVE 2 1)(POP P 1)(CALL 2 (E CHEAP-SPLICE))
G0010
G0001 (JRST 0 SPECSTR)
NIL
(LAP XXXXXX SUBR)
(PUSH P 1)(PUSH P 2)(JUMPN 1 G0002)(EXCH 1 2)(JRST 0 G0001)
G0002 (MOVE 2 0 P)(MOVE 1 -1 P)(CALL 2 (E CONS))
G0003
G0001 (SUB P (C 0 0 2 2))(POPJ P)
NIL
(LAP NIL-BEYOND-DEPTH-BOUND SUBR)
(JSP 6 SPECBIND)(0 1 (SPECIAL POLYGON))(MOVEI 2 (QUOTE DIW))(CALL 2 (E GET))(HLRZ@ 2 1)
(MOVE 1 (SPECIAL DEPTH-BOUND))(CALL 2 (E *LESS))(JUMPE 1 G0002)(MOVEI 1 (QUOTE NIL))
(JRST 0 G0001)
G0002 (MOVE 1 (SPECIAL POLYGON))(CALL 1 (E NCONS))
G0006
G0001 (JRST 0 SPECSTR)
NIL
(LAP SURROUNDS-WINDOW? SUBR)
(JSP 6 SPECBIND)(0 1 (SPECIAL POLYGON))(CALL 0 (E IS-WINDOW-SURROUNDED-BY-CIRCUMSCRIBED-RECTANGLE?))
(JUMPE 1 G0002)(CALL 0 (E IS-EACH-CORNER-OF-WINDOW-WITHIN-THE-POLYGON?))(JUMPN 1 G0001)
G0002 (TDZA 1 1)
G0001 (MOVEI 1 T)(JRST 0 SPECSTR)
NIL
(LAP ZDEPTH SUBR)
(JSP 6 SPECBIND)(0 1 (SPECIAL X))(0 2 (SPECIAL Y))(MOVEI 2 (QUOTE A))(MOVE 1 (SPECIAL POLYGON))
(CALL 2 (E GET))(MOVE 2 (SPECIAL X))(CALL 2 (E *TIMES))(MOVE 2 1)(MOVEI 1 (QUOTE 100.0))
(CALL 2 (E *DIF))(MOVEI 2 (QUOTE B))(PUSH P 1)(MOVE 1 (SPECIAL POLYGON))(CALL 2 (E GET))
(MOVE 2 (SPECIAL Y))(CALL 2 (E *TIMES))(MOVE 2 1)(POP P 1)(CALL 2 (E *DIF))(MOVEI 2 (QUOTE C))
(PUSH P 1)(MOVE 1 (SPECIAL POLYGON))(CALL 2 (E GET))(EXCH 2 1)(POP P 1)(CALL 2 (E *QUO))
(JRST 0 SPECSTR)
NIL
(LAP EXTREMA SUBR)
(PUSH P 1)(CALL 1 (E LEAST))(EXCH 1 0 P)(CALL 1 (E MOST))(POP P 2)(JCALL 2 (E XCONS))
NIL
(LAP CLIP2#1 SUBR)
(MOVEI 2 (QUOTE ENDS))(PUSH P 1)(CALL 2 (E GET))(CALL 1 (E CLIP-LINE-SEGMENT))(MOVE 2 (SPECIAL VIEWNAME)}
)(PUSH P 1)(MOVE 1 -1 P)(CALL 2 (E GET))(EXCH 2 1)(POP P 1)(CALL 2 (E XXXXXX))(MOVE 3 (SPECIAL VIEWNAME))
(MOVE 2 1)(POP P 1)(JCALL 3 (E PUTPROP))
NIL
(LAP CLIP2 SUBR)
(MOVEI 2 (QUOTE EDGEZ))(HLRZ@ 1 (SPECIAL POLYGON-LIST))(CALL 2 (E GET))(EXCH 2 1)
(MOVEI 1 (QUOTE CLIP2#1))(JCALL 2 (E MAPC))
NIL
(LAP ENDPOINTS SUBR)
(PUSH P 2)(MOVEI 2 (QUOTE A))(PUSH P 1)(CALL 2 (E GET))(MOVEI 2 (QUOTE C))(PUSH P (C 0 0 (QUOTE NIL)))
(PUSH P (C 0 0 (QUOTE NIL)))(PUSH P (C 0 0 (QUOTE NIL)))(PUSH P 1)(MOVE 1 -4 P)(CALL 2 (E GET))
(EXCH 2 1)(POP P 1)(CALL 2 (E *QUO))(MOVEI 2 (QUOTE A))(PUSH P 1)(MOVE 1 -5 P)(CALL 2 (E GET))
(MOVEI 2 (QUOTE C))(PUSH P 1)(MOVE 1 -6 P)(CALL 2 (E GET))(EXCH 2 1)(POP P 1)(CALL 2 (E *QUO))
(MOVE 2 1)(POP P 1)(CALL 2 (E *DIF))(MOVEI 2 (QUOTE B))(MOVEM 1 0 P)(MOVE 1 -3 P)
(CALL 2 (E GET))(MOVEI 2 (QUOTE C))(PUSH P 1)(MOVE 1 -4 P)(CALL 2 (E GET))(EXCH 2 1)
(POP P 1)(CALL 2 (E *QUO))(MOVEI 2 (QUOTE B))(PUSH P 1)(MOVE 1 -5 P)(CALL 2 (E GET))
(MOVEI 2 (QUOTE C))(PUSH P 1)(MOVE 1 -6 P)(CALL 2 (E GET))(EXCH 2 1)(POP P 1)(CALL 2 (E *QUO))
(MOVE 2 1)(POP P 1)(CALL 2 (E *DIF))(MOVEI 2 (QUOTE C))(EXCH 1 -3 P)(CALL 2 (E GET))
(EXCH 2 1)(MOVEI 1 (QUOTE 100.0))(CALL 2 (E *QUO))(MOVEI 2 (QUOTE C))(EXCH 1 -4 P)
(CALL 2 (E GET))(EXCH 2 1)(MOVEI 1 (QUOTE 100.0))(CALL 2 (E *QUO))(MOVE 2 1)(EXCH 1 -4 P)
(CALL 2 (E *DIF))(MOVEM 1 -2 P)(MOVE 1 0 P)(CALL 1 (E ABS))(MOVEM 1 -4 P)(MOVE 1 -3 P)
(CALL 1 (E ABS))(MOVE 2 -4 P)(CALL 2 (E *LESS))(JUMPE 1 G0024)(MOVEI 2 (QUOTE 511.0))
(MOVE 1 -3 P)(CALL 2 (E *TIMES))(MOVE 2 1)(MOVE 1 -2 P)(CALL 2 (E *DIF))(MOVE 2 0 P)
(CALL 2 (E *QUO))(MOVEI 2 (QUOTE 511.0))(CALL 2 (E CONS))(MOVEI 2 (QUOTE -511.0))
(MOVEM 1 -4 P)(MOVE 1 -3 P)(CALL 2 (E *TIMES))(MOVE 2 1)(MOVE 1 -2 P)(CALL 2 (E *DIF))
(MOVE 2 0 P)(CALL 2 (E *QUO))(MOVEI 2 (QUOTE -511.0))(CALL 2 (E CONS))(MOVE 2 -4 P)
(CALL 2 (E XCONS))(JRST 0 G0001)
G0024 (MOVEI 2 (QUOTE 511.0))(MOVE 1 0 P)(CALL 2 (E *TIMES))(MOVE 2 1)(MOVE 1 -2 P)(CALL 2 (E *DIF))
(MOVE 2 -3 P)(CALL 2 (E *QUO))(MOVEI 2 (QUOTE 511.0))(CALL 2 (E XCONS))(MOVEI 2 (QUOTE -511.0))
(MOVEM 1 -4 P)(MOVE 1 0 P)(CALL 2 (E *TIMES))(MOVE 2 1)(MOVE 1 -2 P)(CALL 2 (E *DIF))
(MOVE 2 -3 P)(CALL 2 (E *QUO))(MOVEI 2 (QUOTE -511.0))(CALL 2 (E XCONS))(MOVE 2 -4 P)
(CALL 2 (E XCONS))(JRST 0 G0001)
G0038 (MOVEI 1 (QUOTE NIL))
G0001 (SUB P (C 0 0 5 5))(POPJ P)
NIL
(LAP SET-INTERSECTION SUBR)
(PUSH P (C 0 0 (QUOTE NIL)))(PUSH P 1)(PUSH P 2)
G0001 (MOVE 1 -1 P)(JUMPN 1 G0006)(MOVE 1 -2 P)(JRST 0 G0002)
G0006 (MOVE 2 0 P)(HLRZ@ 1 -1 P)(CALL 2 (E MEMBER))(JUMPE 1 G0010)(MOVE 2 -2 P)(HLRZ@ 1 -1 P)
(CALL 2 (E CONS))(MOVEM 1 -2 P)
G0010 (HRRZ@ 1 -1 P)(MOVEM 1 -1 P)(JRST 0 G0001)
G0002 (SUB P (C 0 0 3 3))(POPJ P)
NIL
(LAP KRAMER SUBR)
(PUSH P 1)(HLRZ@ 1 3)(PUSH P 2)(CALL 1 (E NCONS))(HLRZ@ 2 0 P)(CALL 2 (E XCONS))(HLRZ@ 2 -1 P)
(CALL 2 (E XCONS))(PUSH P 1)(HRRZ@ 1 3)(HLRZ@ 1 1)(CALL 1 (E NCONS))(HRRZ@ 2 -1 P)
(HLRZ@ 2 2)(CALL 2 (E XCONS))(HRRZ@ 2 -2 P)(HLRZ@ 2 2)(CALL 2 (E XCONS))(PUSH P 1)
(HRRZ@ 1 3)(CALL 1 (E CADR))(CALL 1 (E NCONS))(HRRZ@ 2 -2 P)(HRRZ@ 2 2)(HLRZ@ 2 2)
(CALL 2 (E XCONS))(HRRZ@ 2 -3 P)(HRRZ@ 2 2)(HLRZ@ 2 2)(CALL 2 (E XCONS))(MOVE 3 1)
(MOVE 2 0 P)(MOVEM 1 -2 P)(MOVE 1 -1 P)(CALL 3 (E DETMAT))(MOVEM 1 -3 P)(MOVEI 1 (QUOTE 100.0))
(CALL 1 (E NCONS))(MOVEI 2 (QUOTE 100.0))(CALL 2 (E XCONS))(MOVEI 2 (QUOTE 100.0))
(CALL 2 (E XCONS))(PUSH P 1)(MOVE 3 -3 P)(MOVE 2 -1 P)(CALL 3 (E DETMAT))(MOVE 2 -4 P)
(CALL 2 (E *QUO))(MOVE 3 -3 P)(MOVE 2 0 P)(PUSH P 1)(MOVE 1 -3 P)(CALL 3 (E DETMAT))
(MOVE 2 -5 P)(CALL 2 (E *QUO))(MOVE 3 -1 P)(MOVE 2 -2 P)(PUSH P 1)(MOVE 1 -4 P)(CALL 3 (E DETMAT))
(MOVE 2 -6 P)(CALL 2 (E *QUO))(CALL 1 (E NCONS))(POP P 2)(CALL 2 (E XCONS))(POP P 2)
(SUB P (C 0 0 5 5))(JCALL 2 (E XCONS))
NIL
(LAP SPLICE2 SUBR)
(JSP 6 SPECBIND)(0 1 (SPECIAL LINE))(PUSH P 2)(JUMPN 1 G0002)(EXCH 1 2)(JRST 0 G0001)
G0002 (JUMPN 2 G0003)(CALL 1 (E NCONS))(JRST 0 G0001)
G0003 (HLRZ@ 2 2)(HLRZ@ 2 2)(HLRZ@ 1 1)(CALL 2 (E EQUAL))(JUMPE 1 G0005)(HLRZ@ 2 0 P)(HRRZ@ 2 2)
(HRRZ@ 1 (SPECIAL LINE))(CALL 2 (E CONS))(HRRZ@ 2 0 P)(CALL 2 (E SPLICE2))(JRST 0 G0001)
G0005 (HLRZ@ 2 0 P)(HRRZ@ 2 2)(HLRZ@ 1 (SPECIAL LINE))(CALL 2 (E EQUAL))(JUMPE 1 G0014)(HLRZ@ 2 0 P)
(HLRZ@ 2 2)(HRRZ@ 1 (SPECIAL LINE))(CALL 2 (E CONS))(HRRZ@ 2 0 P)(CALL 2 (E SPLICE2))
(JRST 0 G0001)
G0014 (HLRZ@ 2 0 P)(HLRZ@ 2 2)(HRRZ@ 1 (SPECIAL LINE))(CALL 2 (E EQUAL))(JUMPE 1 G0023)(HLRZ@ 2 0 P)
(HRRZ@ 2 2)(HLRZ@ 1 (SPECIAL LINE))(CALL 2 (E CONS))(HRRZ@ 2 0 P)(CALL 2 (E SPLICE2))
(JRST 0 G0001)
G0023 (HLRZ@ 2 0 P)(HRRZ@ 2 2)(HRRZ@ 1 (SPECIAL LINE))(CALL 2 (E EQUAL))(JUMPE 1 G0032)(HLRZ@ 2 0 P)
(HLRZ@ 2 2)(HLRZ@ 1 (SPECIAL LINE))(CALL 2 (E CONS))(HRRZ@ 2 0 P)(CALL 2 (E SPLICE2))
(JRST 0 G0001)
G0032 (HLRZ@ 1 0 P)(HRRZ@ 2 0 P)(PUSH P 1)(MOVE 1 (SPECIAL LINE))(CALL 2 (E SPLICE2))(POP P 2)
(CALL 2 (E XCONS))
G0041
G0001 (SUB P (C 0 0 1 1))(JRST 0 SPECSTR)
NIL
(LAP SPLICE1 SUBR)
(JSP 6 SPECBIND)(0 1 (SPECIAL LINE))(PUSH P 2)(JUMPN 1 G0002)(EXCH 1 2)(JRST 0 G0001)
G0002 (JUMPN 2 G0003)(CALL 1 (E NCONS))(JRST 0 G0001)
G0003 (HLRZ@ 2 2)(HLRZ@ 2 2)(HLRZ@ 1 1)(CALL 2 (E SAMEPOINT?))(JUMPE 1 G0005)(HLRZ@ 2 0 P)
(HRRZ@ 2 2)(HRRZ@ 1 (SPECIAL LINE))(CALL 2 (E CONS))(HRRZ@ 2 0 P)(CALL 2 (E SPLICE1))
(JRST 0 G0001)
G0005 (HLRZ@ 2 0 P)(HRRZ@ 2 2)(HLRZ@ 1 (SPECIAL LINE))(CALL 2 (E SAMEPOINT?))(JUMPE 1 G0014)
(HLRZ@ 2 0 P)(HLRZ@ 2 2)(HRRZ@ 1 (SPECIAL LINE))(CALL 2 (E CONS))(HRRZ@ 2 0 P)(CALL 2 (E SPLICE1))
(JRST 0 G0001)
G0014 (HLRZ@ 2 0 P)(HLRZ@ 2 2)(HRRZ@ 1 (SPECIAL LINE))(CALL 2 (E SAMEPOINT?))(JUMPE 1 G0023)
(HLRZ@ 2 0 P)(HRRZ@ 2 2)(HLRZ@ 1 (SPECIAL LINE))(CALL 2 (E CONS))(HRRZ@ 2 0 P)(CALL 2 (E SPLICE1))
(JRST 0 G0001)
G0023 (HLRZ@ 2 0 P)(HRRZ@ 2 2)(HRRZ@ 1 (SPECIAL LINE))(CALL 2 (E SAMEPOINT?))(JUMPE 1 G0032)
(HLRZ@ 2 0 P)(HLRZ@ 2 2)(HLRZ@ 1 (SPECIAL LINE))(CALL 2 (E CONS))(HRRZ@ 2 0 P)(CALL 2 (E SPLICE1))
(JRST 0 G0001)
G0032 (HLRZ@ 1 0 P)(HRRZ@ 2 0 P)(PUSH P 1)(MOVE 1 (SPECIAL LINE))(CALL 2 (E SPLICE1))(POP P 2)
(CALL 2 (E XCONS))
G0041
G0001 (SUB P (C 0 0 1 1))(JRST 0 SPECSTR)
NIL
(LAP ONCEONLY SUBR)
(PUSH P (C 0 0 (QUOTE NIL)))(PUSH P 1)
G0001 (MOVE 1 0 P)(JUMPN 1 G0006)(MOVE 1 -1 P)(CALL 1 (E REVERSE))(JRST 0 G0002)
G0006 (HRRZ@ 2 0 P)(HLRZ@ 1 0 P)(CALL 2 (E MEMBER))(JUMPN 1 G0011)(MOVE 2 -1 P)(HLRZ@ 1 0 P)
(CALL 2 (E CONS))(MOVEM 1 -1 P)
G0011 (HRRZ@ 1 0 P)(MOVEM 1 0 P)(JRST 0 G0001)
G0002 (SUB P (C 0 0 2 2))(POPJ P)
NIL
(LAP ORDLOW SUBR)
(PUSH P 1)(HRRZ@ 2 1)(HLRZ@ 2 2)(CALL 1 (E CAAR))(CALL 2 (E *GREAT))(JUMPE 1 G0002)
(HLRZ@ 2 0 P)(HRRZ@ 1 0 P)(CALL 2 (E CONS))(JRST 0 G0001)
G0002 (MOVE 1 0 P)
G0009
G0001 (SUB P (C 0 0 1 1))(POPJ P)
NIL
(LAP UNRESOLVED SUBR)
(MOVE 1 (SPECIAL POLYGON-LIST))(JUMPN 1 G0002)(MOVE 2 (SPECIAL YLOW))(MOVE 1 (SPECIAL XLOW))
(CALL 2 (E CONS))(MOVE 2 (SPECIAL INTER))(CALL 2 (E CONS))(MOVEM 1 (SPECIAL INTER))
(JRST 0 G0001)
G0002 (MOVE 2 (SPECIAL YLOW))(MOVE 1 (SPECIAL XLOW))(CALL 2 (E CONS))(MOVE 2 (SPECIAL UNRES))
(CALL 2 (E CONS))(MOVEM 1 (SPECIAL UNRES))
G0005
G0001 (POPJ P)
NIL
(LAP SMALL? SUBR)
(MOVE 2 (SPECIAL XLOW))(MOVE 1 (SPECIAL XHIGH))(CALL 2 (E *DIF))(MOVEI 2 (QUOTE 1))
(JCALL 2 (E *LESS))
NIL
(LAP SIMPLE? SUBR)
(MOVE 1 (SPECIAL ABOVE-LIST))(CALL 1 (E LENGTH))(MOVEI 2 (QUOTE 2))(CALL 2 (E *LESS))
(JUMPE 1 G0002)(MOVE 1 (SPECIAL SURROUNDERS-LIST))(CALL 1 (E LENGTH))(MOVEI 2 (QUOTE 2))
(CALL 2 (E *LESS))(JUMPE 1 G0002)(MOVE 2 (SPECIAL POLYGON-LIST))(MOVE 1 (SPECIAL ABOVE-LIST))
(CALL 2 (E EQUAL))(JUMPN 1 G0001)
G0002 (TDZA 1 1)
G0001 (MOVEI 1 T)(POPJ P)
NIL
(LAP TRIVAIL SUBR)
(MOVE 1 (SPECIAL POLYGON-LIST))(JUMPN 1 G0002)(MOVE 1 (SPECIAL SURROUNDERS-LIST))
(CALL 1 (E LENGTH))(MOVEI 2 (QUOTE 2))(CALL 2 (E *LESS))(JUMPN 1 G0001)
G0002 (TDZA 1 1)
G0001 (MOVEI 1 T)(POPJ P)
NIL
(LAP CLIP#1 SUBR)
(MOVEI 2 (QUOTE ENDS))(PUSH P 1)(CALL 2 (E GET))(CALL 1 (E CLIP-LINE-SEGMENT))(MOVE 2 (SPECIAL VIEWNAME)}
)(PUSH P 1)(MOVE 1 -1 P)(CALL 2 (E GET))(EXCH 2 1)(POP P 1)(CALL 2 (E XXXXXX))(MOVE 3 (SPECIAL VIEWNAME))
(MOVE 2 1)(POP P 1)(JCALL 3 (E PUTPROP))
NIL
(LAP CLIP SUBR)
(MOVEI 2 (QUOTE EDGES))(HLRZ@ 1 (SPECIAL POLYGON-LIST))(CALL 2 (E GET))(EXCH 2 1)
(MOVEI 1 (QUOTE CLIP#1))(JCALL 2 (E MAPC))
NIL
(LAP ABOVE#1 SUBR)
(MOVEI 2 (QUOTE DIW))(JCALL 2 (E GET))
NIL
(LAP ABOVE#2 SUBR)
(JSP 6 SPECBIND)(0 1 (SPECIAL POLYGON))(MOVEI 2 (QUOTE DIW))(CALL 2 (E GET))(MOVE 2 (SPECIAL DEPTH-BOUND}
))(HRRZ@ 1 1)(CALL 2 (E *LESS))(JUMPE 1 G0003)(MOVE 1 (SPECIAL POLYGON))(CALL 1 (E NCONS))
(JRST 0 G0002)
G0003 (MOVEI 1 (QUOTE NIL))
G0008
G0002 (JRST 0 SPECSTR)
NIL
(LAP ABOVE SUBR)
(JSP 6 SPECBIND)(0 0 (SPECIAL DEPTH-BOUND))(MOVE 2 (SPECIAL SURROUNDERS-LIST))(MOVEI 1 (QUOTE ABOVE#1))
(CALL 2 (E MAPCAR))(MOVE 2 1)(MOVEI 1 (QUOTE CAR))(CALL 2 (E MAPCAR))(CALL 1 (E LEAST))
(MOVEM 1 (SPECIAL DEPTH-BOUND))(MOVE 2 (SPECIAL POLYGON-LIST))(MOVEI 1 (QUOTE ABOVE#2))
(CALL 2 (E MAPPENDCAR))(MOVEM 1 (SPECIAL ABOVE-LIST))(MOVEI 1 (QUOTE NIL))(JRST 0 SPECSTR)
NIL
(LAP HIDE-POLY#1 SUBR)
(MOVEI 2 (QUOTE DIW))(JCALL 2 (E GET))
NIL
(LAP HIDE-POLY SUBR)
(JSP 6 SPECBIND)(0 0 (SPECIAL DEPTH-BOUND))(MOVE 2 (SPECIAL SURROUNDERS-LIST))(MOVEI 1 (QUOTE HIDE-POLY#}
1))(CALL 2 (E MAPCAR))(MOVE 2 1)(MOVEI 1 (QUOTE CDR))(CALL 2 (E MAPCAR))(CALL 1 (E LEAST))
(MOVEM 1 (SPECIAL DEPTH-BOUND))(MOVE 2 (SPECIAL SURROUNDERS-LIST))(MOVEI 1 (QUOTE NIL-BEYOND-DEPTH-BOUND}
))(CALL 2 (E MAPPENDCAR))(MOVEM 1 (SPECIAL SURROUNDERS-LIST))(MOVE 2 (SPECIAL POLYGON-LIST))
(MOVEI 1 (QUOTE NIL-BEYOND-DEPTH-BOUND))(CALL 2 (E MAPPENDCAR))(MOVEM 1 (SPECIAL POLYGON-LIST))
(MOVEI 1 (QUOTE NIL))(JRST 0 SPECSTR)
NIL
(LAP SURROUND#1 SUBR)
(JSP 6 SPECBIND)(0 1 (SPECIAL POLYGON))(CALL 1 (E SURROUNDS-WINDOW?))(JUMPE 1 G0002)
(MOVE 2 (SPECIAL SURROUNDERS-LIST))(MOVE 1 (SPECIAL POLYGON))(CALL 2 (E CONS))(MOVEM 1 (SPECIAL SURROUND}
ERS-LIST))(MOVEI 1 (QUOTE NIL))(JRST 0 G0001)
G0002 (MOVE 1 (SPECIAL POLYGON))(CALL 1 (E NCONS))
G0005
G0001 (JRST 0 SPECSTR)
NIL
(LAP SURROUND SUBR)
(MOVE 2 (SPECIAL POLYGON-LIST))(MOVEI 1 (QUOTE SURROUND#1))(CALL 2 (E MAPPENDCAR))
(MOVEM 1 (SPECIAL POLYGON-LIST))(POPJ P)
NIL
(LAP DIW-PROPERTY#1 SUBR)
(JSP 6 SPECBIND)(0 1 (SPECIAL POLYGON))(MOVE 2 (SPECIAL YLOW))(MOVE 1 (SPECIAL XLOW))
(PUSH P (SPECIAL POLYGON))(CALL 2 (E ZDEPTH))(MOVE 2 (SPECIAL YLOW))(PUSH P 1)(MOVE 1 (SPECIAL XHIGH))
(CALL 2 (E ZDEPTH))(MOVE 2 (SPECIAL YHIGH))(PUSH P 1)(MOVE 1 (SPECIAL XHIGH))(CALL 2 (E ZDEPTH))
(MOVE 2 (SPECIAL YHIGH))(PUSH P 1)(MOVE 1 (SPECIAL XLOW))(CALL 2 (E ZDEPTH))(CALL 1 (E NCONS))
(POP P 2)(CALL 2 (E XCONS))(POP P 2)(CALL 2 (E XCONS))(POP P 2)(CALL 2 (E XCONS))
(CALL 1 (E EXTREMA))(MOVEI 3 (QUOTE DIW))(MOVE 2 1)(POP P 1)(CALL 3 (E PUTPROP))(JRST 0 SPECSTR)
NIL
(LAP DIW-PROPERTY SUBR)
(MOVE 2 (SPECIAL SURROUNDERS-LIST))(MOVE 1 (SPECIAL POLYGON-LIST))(CALL 2 (E *APPEND))
(MOVE 2 1)(MOVEI 1 (QUOTE DIW-PROPERTY#1))(JCALL 2 (E MAPC))
NIL
(LAP MAPORCAR SUBR)
(PUSH P 1)(PUSH P 2)(EXCH 1 2)(JUMPE 1 G0001)(HLRZ@ 1 1)(CALLF@ 1 2)(JUMPE 1 G0002)
(MOVEI 1 (QUOTE T))(JRST 0 G0001)
G0002 (HRRZ@ 2 0 P)(MOVE 1 -1 P)(CALL 2 (E MAPORCAR))
G0005
G0001 (SUB P (C 0 0 2 2))(POPJ P)
NIL
(LAP IS-ANY-CORNER-OF-WINDOW-WITHIN-THE-POLYGON? SUBR)
(JSP 6 SPECBIND)(0 0 (SPECIAL TRIANGLE-LIST))(CALL 0 (E SPLIT-POLYGON-INTO-TRIANGLES))
(MOVE 3 (SPECIAL YLOW))(MOVE 2 (SPECIAL XLOW))(MOVE 1 (SPECIAL TRIANGLE-LIST))(CALL 3 (E CORNER-WITHIN-A}
NY-TRIANGLE?))(JUMPN 1 G0005)(MOVE 3 (SPECIAL YHIGH))(MOVE 2 (SPECIAL XLOW))(MOVE 1 (SPECIAL TRIANGLE-LIST))
(CALL 3 (E CORNER-WITHIN-ANY-TRIANGLE?))(JUMPN 1 G0005)(MOVE 3 (SPECIAL YLOW))(MOVE 2 (SPECIAL XHIGH))
(MOVE 1 (SPECIAL TRIANGLE-LIST))(CALL 3 (E CORNER-WITHIN-ANY-TRIANGLE?))(JUMPN 1 G0005)
(MOVE 3 (SPECIAL YHIGH))(MOVE 2 (SPECIAL XHIGH))(MOVE 1 (SPECIAL TRIANGLE-LIST))(CALL 3 (E CORNER-WITHIN}
-ANY-TRIANGLE?))(JUMPN 1 G0005)(TDZA 1 1)
G0005 (MOVEI 1 T)(JRST 0 SPECSTR)
NIL
(LAP WINDOW-IN-OPPOSITE-HALF-PLANE? SUBR)
(JSP 6 SPECBIND)(0 0 (SPECIAL X))(0 0 (SPECIAL Y))(MOVEI 2 (QUOTE ENDS))(PUSH P 1)
(CALL 2 (E GET))(MOVEM 1 (SPECIAL X))(CALL 1 (E CDAR))(CALL 1 (E NCONS))(HLRZ@ 2 (SPECIAL X))
(HLRZ@ 2 2)(CALL 2 (E XCONS))(PUSH P (C 0 0 (QUOTE NIL)))(PUSH P (C 0 0 (QUOTE NIL)))
(PUSH P 1)(HRRZ@ 1 (SPECIAL X))(HRRZ@ 1 1)(CALL 1 (E NCONS))(HRRZ@ 2 (SPECIAL X))
(HLRZ@ 2 2)(CALL 2 (E XCONS))(CALL 1 (E NCONS))(POP P 2)(CALL 2 (E XCONS))(MOVEI 2 (QUOTE POINTS))
(MOVEM 1 -1 P)(MOVE 1 -2 P)(CALL 2 (E GET))(EXCH 1 -2 P)(CALL 2 (E GET))(MOVEI 2 (QUOTE CORNERS))
(PUSH P 1)(MOVE 1 (SPECIAL POLYGON))(CALL 2 (E GET))(PUSH P 1)(HLRZ@ 1 -4 P)(POP P 2)
(MOVEM 1 -3 P)(HRRZ@ 1 0 P)(CALL 2 (E DELETE))(MOVE 2 1)(EXCH 1 -3 P)(CALL 2 (E DELETE))
(MOVEM 1 (SPECIAL X))(SUB P (C 0 0 1 1))(MOVEI 2 (QUOTE IMAGE))(HLRZ@ 1 1)(CALL 2 (E GET))
(MOVEM 1 (SPECIAL X))(CALL 1 (E CADR))(MOVEM 1 (SPECIAL Y))(HLRZ@ 1 (SPECIAL X))(MOVEM 1 (SPECIAL X))
(MOVE 3 -1 P)(MOVE 2 (SPECIAL Y))(CALL 3 (E MMMM))(MOVEM 1 0 P)(MOVE 3 -1 P)(MOVE 2 (SPECIAL YLOW))
(MOVE 1 (SPECIAL XLOW))(CALL 3 (E MMMM))(MOVE 2 0 P)(CALL 2 (E *TIMES))(CALL 1 (E MINUSP))
(JUMPE 1 G0028)(MOVE 3 -1 P)(MOVE 2 (SPECIAL YHIGH))(MOVE 1 (SPECIAL XLOW))(CALL 3 (E MMMM))
(MOVE 2 0 P)(CALL 2 (E *TIMES))(CALL 1 (E MINUSP))(JUMPE 1 G0028)(MOVE 3 -1 P)(MOVE 2 (SPECIAL YLOW))
(MOVE 1 (SPECIAL XHIGH))(CALL 3 (E MMMM))(MOVE 2 0 P)(CALL 2 (E *TIMES))(CALL 1 (E MINUSP))
(JUMPE 1 G0028)(MOVE 3 -1 P)(MOVE 2 (SPECIAL YHIGH))(MOVE 1 (SPECIAL XHIGH))(CALL 3 (E MMMM))
(MOVE 2 0 P)(CALL 2 (E *TIMES))(CALL 1 (E MINUSP))(JUMPN 1 G0027)
G0028 (TDZA 1 1)
G0027 (MOVEI 1 T)(SUB P (C 0 0 3 3))(JRST 0 SPECSTR)
NIL
(LAP OUTSIDE#1 SUBR)
(JSP 6 SPECBIND)(0 1 (SPECIAL POLYGON))(MOVEI 2 (QUOTE XHIGH))(CALL 2 (E GET))(MOVE 2 (SPECIAL XLOW))
(CALL 2 (E *LESS))(JUMPN 1 G0003)(MOVEI 2 (QUOTE YHIGH))(MOVE 1 (SPECIAL POLYGON))
(CALL 2 (E GET))(MOVE 2 (SPECIAL YLOW))(CALL 2 (E *LESS))(JUMPN 1 G0003)(MOVEI 2 (QUOTE XLOW))
(MOVE 1 (SPECIAL POLYGON))(CALL 2 (E GET))(MOVE 2 (SPECIAL XHIGH))(CALL 2 (E *GREAT))
(JUMPN 1 G0003)(MOVEI 2 (QUOTE YLOW))(MOVE 1 (SPECIAL POLYGON))(CALL 2 (E GET))(MOVE 2 (SPECIAL YHIGH))
(CALL 2 (E *GREAT))(JUMPE 1 G0002)
G0003 (MOVEI 1 (QUOTE NIL))(JRST 0 G0001)
G0002 (MOVEI 2 (QUOTE XHIGH))(MOVE 1 (SPECIAL POLYGON))(CALL 2 (E GET))(MOVE 2 (SPECIAL XHIGH))
(CALL 2 (E *LESS))(JUMPE 1 G0012)(MOVEI 2 (QUOTE YHIGH))(MOVE 1 (SPECIAL POLYGON))
(CALL 2 (E GET))(MOVE 2 (SPECIAL YHIGH))(CALL 2 (E *LESS))(JUMPE 1 G0012)(MOVEI 2 (QUOTE XLOW))
(MOVE 1 (SPECIAL POLYGON))(CALL 2 (E GET))(MOVE 2 (SPECIAL XLOW))(CALL 2 (E *GREAT))
(JUMPE 1 G0012)(MOVEI 2 (QUOTE YLOW))(MOVE 1 (SPECIAL POLYGON))(CALL 2 (E GET))(MOVE 2 (SPECIAL YLOW))
(CALL 2 (E *GREAT))(JUMPE 1 G0012)(MOVE 1 (SPECIAL POLYGON))(CALL 1 (E NCONS))(JRST 0 G0001)
G0012 (CALL 0 (E IS-ANY-CORNER-OF-WINDOW-WITHIN-THE-POLYGON?))(JUMPE 1 G0023)(MOVE 1 (SPECIAL POLYGON))
(CALL 1 (E NCONS))(JRST 0 G0001)
G0023 (MOVEI 2 (QUOTE EDGES))(MOVE 1 (SPECIAL POLYGON))(CALL 2 (E GET))(EXCH 2 1)(MOVEI 1 (QUOTE WINDOW-IN-OPPOS}
ITE-HALF-PLANE?))(CALL 2 (E MAPORCAR))(JUMPE 1 G0026)(MOVEI 1 (QUOTE NIL))(JRST 0 G0001)
G0026 (MOVE 1 (SPECIAL POLYGON))(CALL 1 (E NCONS))
G0029
G0001 (JRST 0 SPECSTR)
NIL
(LAP OUTSIDE SUBR)
(MOVE 2 (SPECIAL POLYGON-LIST))(MOVEI 1 (QUOTE OUTSIDE#1))(CALL 2 (E MAPPENDCAR))
(MOVEM 1 (SPECIAL POLYGON-LIST))(POPJ P)
NIL
(LAP TWO-INTERSECTING-PLANES? SUBR)
(MOVE 1 (SPECIAL POLYGON-LIST))(JUMPN 1 G0002)(MOVE 1 (SPECIAL SURROUNDERS-LIST))
(CALL 1 (E LENGTH))(MOVEI 2 (QUOTE 2))(CALL 2 (E EQUAL))(JUMPN 1 G0001)
G0002 (TDZA 1 1)
G0001 (MOVEI 1 T)(POPJ P)
NIL
(LAP FORM-NEW-EDGE SUBR)
(HLRZ@ 1 (SPECIAL SURROUNDERS-LIST))(PUSH P 1)(HRRZ@ 1 (SPECIAL SURROUNDERS-LIST))
(HLRZ@ 1 1)(MOVEI 2 (QUOTE EDGEZ))(PUSH P 1)(MOVE 1 -1 P)(CALL 2 (E GET))(PUSH P (C 0 0 (QUOTE NIL)))
(PUSH P 1)(MOVE 1 -2 P)(CALL 2 (E GET))(EXCH 2 1)(POP P 1)(CALL 2 (E SET-INTERSECTION))
(MOVEM 1 0 P)(HRRZ@ 1 (SPECIAL SURROUNDERS-LIST))(MOVEM 1 (SPECIAL POLYGON-LIST))
(MOVE 1 0 P)(JUMPE 1 G0011)(CALL 0 (E CLIP2))(MOVEI 1 (QUOTE NIL))(JRST 0 G0001)
G0011 (CALL 0 (E GENSYM))(CALL 1 (E INTERN))(MOVEI 2 (QUOTE EDGEZ))(MOVEM 1 0 P)(MOVE 1 -2 P)
(CALL 2 (E GET))(MOVE 2 0 P)(CALL 2 (E XCONS))(MOVEI 3 (QUOTE EDGEZ))(MOVE 2 1)(MOVE 1 -2 P)
(CALL 3 (E PUTPROP))(MOVEI 2 (QUOTE EDGEZ))(MOVE 1 -1 P)(CALL 2 (E GET))(MOVE 2 0 P)
(CALL 2 (E XCONS))(MOVEI 3 (QUOTE EDGEZ))(MOVE 2 1)(MOVE 1 -1 P)(CALL 3 (E PUTPROP))
(MOVE 2 -1 P)(MOVE 1 -2 P)(CALL 2 (E ENDPOINTS))(MOVEI 3 (QUOTE ENDS))(MOVE 2 1)(MOVE 1 0 P)
(CALL 3 (E PUTPROP))(CALL 0 (E CLIP2))(MOVEI 1 (QUOTE NIL))
G0001 (SUB P (C 0 0 3 3))(POPJ P)
NIL
(LAP TWO-POLY-WITH-COMMON-EDGE SUBR)
(MOVE 1 (SPECIAL ABOVE-LIST))(CALL 1 (E LENGTH))(MOVEI 2 (QUOTE 2))(CALL 2 (E EQUAL))
(JUMPE 1 G0002)(MOVE 1 (SPECIAL SURROUNDERS-LIST))(CALL 1 (E LENGTH))(MOVEI 2 (QUOTE 2))
(CALL 2 (E *LESS))(JUMPE 1 G0002)(MOVE 1 (SPECIAL POLYGON-LIST))(CALL 1 (E LENGTH))
(MOVEI 2 (QUOTE 2))(CALL 2 (E EQUAL))(JUMPE 1 G0002)(MOVEI 2 (QUOTE EDGES))(HLRZ@ 1 (SPECIAL ABOVE-LIST)}
)(CALL 2 (E GET))(PUSH P 1)(HRRZ@ 1 (SPECIAL ABOVE-LIST))(HLRZ@ 1 1)(CALL 2 (E GET))(EXCH 2 1)
(POP P 1)(CALL 2 (E SET-INTERSECTION))(CALL 1 (E LENGTH))(MOVEI 2 (QUOTE 1))(CALL 2 (E EQUAL))
(JUMPN 1 G0001)
G0002 (TDZA 1 1)
G0001 (MOVEI 1 T)(POPJ P)
NIL
(LAP ENDS-PROPERTY#1 SUBR)
(MOVEI 2 (QUOTE POINTS))(PUSH P 1)(CALL 2 (E GET))(MOVEI 2 (QUOTE IMAGE))(PUSH P 1)
(HLRZ@ 1 1)(CALL 2 (E GET))(PUSH P 1)(HRRZ@ 1 -1 P)(CALL 2 (E GET))(MOVEI 2 (QUOTE 0.0))
(MOVEM 1 -1 P)(HLRZ@ 1 0 P)(CALL 2 (E *PLUS))(MOVEI 2 (QUOTE 0.0))(PUSH P 1)(HRRZ@ 1 -1 P)
(HLRZ@ 1 1)(CALL 2 (E *PLUS))(POP P 2)(CALL 2 (E XCONS))(MOVEI 2 (QUOTE 0.0))(MOVEM 1 0 P)
(HLRZ@ 1 -1 P)(CALL 2 (E *PLUS))(MOVEI 2 (QUOTE 0.0))(PUSH P 1)(HRRZ@ 1 -2 P)(HLRZ@ 1 1)
(CALL 2 (E *PLUS))(POP P 2)(CALL 2 (E XCONS))(POP P 2)(CALL 2 (E XCONS))(MOVEI 3 (QUOTE ENDS))
(MOVE 2 1)(MOVE 1 -1 P)(CALL 3 (E PUTPROP))(MOVE 3 (SPECIAL VIEWNAME))(MOVEI 2 (QUOTE NIL))
(EXCH 1 -1 P)(CALL 3 (E PUTPROP))(MOVEI 1 (QUOTE NIL))(SUB P (C 0 0 2 2))(POPJ P)
NIL
(LAP ENDS-PROPERTY SUBR)
(JSP 6 SPECBIND)(0 1 (SPECIAL POLYGON))(MOVEI 2 (QUOTE EDGES))(CALL 2 (E GET))(EXCH 2 1)
(MOVEI 1 (QUOTE ENDS-PROPERTY#1))(CALL 2 (E MAPC))(JRST 0 SPECSTR)
NIL
(LAP INITIALIZE-CIRCUMSCRIBED-RECTANGLE-PROPERTY#1 SUBR)
(MOVEI 2 (QUOTE IMAGE))(JCALL 2 (E GET))
NIL
(LAP INITIALIZE-CIRCUMSCRIBED-RECTANGLE-PROPERTY SUBR)
(JSP 6 SPECBIND)(0 1 (SPECIAL POLYGON))(MOVEI 2 (QUOTE CORNERS))(CALL 2 (E GET))(EXCH 2 1)
(MOVEI 1 (QUOTE INITIALIZE-CIRCUMSCRIBED-RECTANGLE-PROPERTY#1))(CALL 2 (E MAPCAR))
(MOVE 2 1)(PUSH P 1)(MOVEI 1 (QUOTE CAR))(CALL 2 (E MAPCAR))(MOVE 2 0 P)(PUSH P 1)
(MOVEI 1 (QUOTE CADR))(CALL 2 (E MAPCAR))(MOVEM 1 -1 P)(MOVE 1 0 P)(PUSH P (SPECIAL POLYGON))
(CALL 1 (E LEAST))(MOVEI 3 (QUOTE XLOW))(MOVE 2 1)(POP P 1)(CALL 3 (E PUTPROP))(MOVE 1 -1 P)
(PUSH P (SPECIAL POLYGON))(CALL 1 (E LEAST))(MOVEI 3 (QUOTE YLOW))(MOVE 2 1)(POP P 1)
(CALL 3 (E PUTPROP))(POP P 1)(PUSH P (SPECIAL POLYGON))(CALL 1 (E MOST))(MOVEI 3 (QUOTE XHIGH))
(MOVE 2 1)(POP P 1)(CALL 3 (E PUTPROP))(POP P 1)(PUSH P (SPECIAL POLYGON))(CALL 1 (E MOST))
(MOVEI 3 (QUOTE YHIGH))(MOVE 2 1)(POP P 1)(CALL 3 (E PUTPROP))(MOVEI 1 (QUOTE NIL))
(JRST 0 SPECSTR)
NIL
(LAP INITIALIZE-PLANE-OF-POLYGON-PROPERTIES SUBR)
(JSP 6 SPECBIND)(0 1 (SPECIAL POLYGON))(MOVEI 2 (QUOTE CORNERS))(CALL 2 (E GET))(MOVEI 2 (QUOTE IMAGE))
(PUSH P 1)(HLRZ@ 1 1)(CALL 2 (E GET))(PUSH P 1)(HRRZ@ 1 -1 P)(HLRZ@ 1 1)(CALL 2 (E GET))
(PUSH P 1)(HRRZ@ 1 -2 P)(CALL 1 (E CADR))(CALL 2 (E GET))(MOVE 3 1)(POP P 2)(MOVE 1 0 P)
(CALL 3 (E KRAMER))(MOVEI 3 (QUOTE A))(HLRZ@ 2 1)(MOVEM 1 0 P)(MOVE 1 (SPECIAL POLYGON))
(CALL 3 (E PUTPROP))(MOVEI 3 (QUOTE B))(HRRZ@ 2 0 P)(HLRZ@ 2 2)(MOVE 1 (SPECIAL POLYGON))
(CALL 3 (E PUTPROP))(MOVEI 3 (QUOTE C))(HRRZ@ 2 0 P)(HRRZ@ 2 2)(HLRZ@ 2 2)(MOVE 1 (SPECIAL POLYGON))
(CALL 3 (E PUTPROP))(MOVEI 1 (QUOTE NIL))(SUB P (C 0 0 2 2))(JRST 0 SPECSTR)
NIL
(LAP SUPERSPLICE2#1 SUBR)
(MOVE 2 (SPECIAL VIEWNAME))(PUSH P 1)(CALL 2 (E GET))(CALL 1 (E ONCEONLY))(MOVE 2 1)
(MOVEI 1 (QUOTE ORDLOW))(CALL 2 (E MAPCAR))(MOVEI 2 (QUOTE NIL))(PUSH P 1)(MOVEI 1 (QUOTE NIL))
(CALL 2 (E SET))(PUSH P (C 0 0 (QUOTE NIL)))
G0001 (MOVE 1 -1 P)(JUMPN 1 G0010)(MOVE 3 (SPECIAL VIEWNAME))(MOVE 2 0 P)(MOVE 1 -2 P)(CALL 3 (E PUTPROP))
(JRST 0 G0002)
G0010 (MOVE 2 0 P)(HLRZ@ 1 -1 P)(CALL 2 (E SPLICE2))(MOVEM 1 0 P)(HRRZ@ 1 -1 P)(MOVEM 1 -1 P)
(JRST 0 G0001)
G0002 (SUB P (C 0 0 3 3))(POPJ P)
NIL
(LAP SUPERSPLICE2 SUBR)
(MOVEI 2 (QUOTE EDGEZ))(PUSH P 1)(CALL 2 (E GET))(MOVEI 2 (QUOTE EDGES))(EXCH 1 0 P)
(CALL 2 (E GET))(EXCH 2 1)(POP P 1)(CALL 2 (E *APPEND))(MOVE 2 1)(MOVEI 1 (QUOTE SUPERSPLICE2#1))
(JCALL 2 (E MAPC))
NIL
(LAP SUPERSPLICE1#1 SUBR)
(MOVE 2 (SPECIAL VIEWNAME))(PUSH P 1)(CALL 2 (E GET))(CALL 1 (E ONCEONLY))(MOVE 2 1)
(MOVEI 1 (QUOTE ORDLOW))(CALL 2 (E MAPCAR))(MOVEI 2 (QUOTE NIL))(PUSH P 1)(MOVEI 1 (QUOTE NIL))
(CALL 2 (E SET))(PUSH P (C 0 0 (QUOTE NIL)))
G0001 (MOVE 1 -1 P)(JUMPN 1 G0010)(MOVE 3 (SPECIAL VIEWNAME))(MOVE 2 0 P)(MOVE 1 -2 P)(CALL 3 (E PUTPROP))
(JRST 0 G0002)
G0010 (MOVE 2 0 P)(HLRZ@ 1 -1 P)(CALL 2 (E SPLICE1))(MOVEM 1 0 P)(HRRZ@ 1 -1 P)(MOVEM 1 -1 P)
(JRST 0 G0001)
G0002 (SUB P (C 0 0 3 3))(POPJ P)
NIL
(LAP SUPERSPLICE1 SUBR)
(MOVEI 2 (QUOTE EDGEZ))(PUSH P 1)(CALL 2 (E GET))(MOVEI 2 (QUOTE EDGES))(EXCH 1 0 P)
(CALL 2 (E GET))(EXCH 2 1)(POP P 1)(CALL 2 (E *APPEND))(MOVE 2 1)(MOVEI 1 (QUOTE SUPERSPLICE1#1))
(JCALL 2 (E MAPC))
NIL
(LAP WARNOCK SUBR)
(JSP 6 SPECBIND)(0 1 (SPECIAL ZZZZZZ))(0 2 (SPECIAL XLOW))(0 3 (SPECIAL XHIGH))(0 4 (SPECIAL YLOW))
(0 5 (SPECIAL YHIGH))(0 0 (SPECIAL POLYGON-LIST))(0 0 (SPECIAL SURROUNDERS-LIST))
(0 0 (SPECIAL ABOVE-LIST))(HLRZ@ 1 1)(MOVEM 1 (SPECIAL POLYGON-LIST))(HRRZ@ 1 (SPECIAL ZZZZZZ))
(MOVEM 1 (SPECIAL SURROUNDERS-LIST))(CALL 0 (E OUTSIDE))(MOVEI 1 (QUOTE A))(CALL 1 (E PRINC))
(CALL 0 (E FORCE))(CALL 0 (E DIW-PROPERTY))(CALL 0 (E SURROUND))(CALL 0 (E HIDE-POLY))
(CALL 0 (E ABOVE))(PUSH P (C 0 0 (QUOTE NIL)))(PUSH P (C 0 0 (QUOTE NIL)))(CALL 0 (E TRIVAIL))
(JUMPE 1 G0015)(JRST 0 G0014)
G0015 (CALL 0 (E SIMPLE?))(JUMPE 1 G0017)(CALL 0 (E CLIP))(JRST 0 G0014)
G0017 (CALL 0 (E TWO-POLY-WITH-COMMON-EDGE))(JUMPE 1 G0020)(CALL 0 (E CLIP))(JRST 0 G0014)
G0020 (CALL 0 (E TWO-INTERSECTING-PLANES?))(JUMPE 1 G0023)(CALL 0 (E FORM-NEW-EDGE))(JRST 0 G0014)
G0023 (CALL 0 (E SMALL?))(JUMPE 1 G0026)(CALL 0 (E UNRESOLVED))(JRST 0 G0014)
G0026 (JRST 0 G0001)
G0014 (MOVEI 1 (QUOTE NIL))(JRST 0 G0002)
G0001 (MOVE 2 (SPECIAL XHIGH))(MOVE 1 (SPECIAL XLOW))(CALL 2 (E *PLUS))(MOVEI 2 (QUOTE 2))
(CALL 2 (E *QUO))(MOVE 2 (SPECIAL YHIGH))(MOVEM 1 0 P)(MOVE 1 (SPECIAL YLOW))(CALL 2 (E *PLUS))
(MOVEI 2 (QUOTE 2))(CALL 2 (E *QUO))(MOVE 2 (SPECIAL SURROUNDERS-LIST))(MOVEM 1 -1 P)
(MOVE 1 (SPECIAL POLYGON-LIST))(CALL 2 (E CONS))(MOVE 5 (SPECIAL YHIGH))(MOVE 4 -1 P)
(MOVE 3 (SPECIAL XHIGH))(MOVE 2 0 P)(CALL 5 (E WARNOCK))(MOVE 2 (SPECIAL SURROUNDERS-LIST))
(MOVE 1 (SPECIAL POLYGON-LIST))(CALL 2 (E CONS))(MOVE 5 (SPECIAL YHIGH))(MOVE 4 -1 P)
(MOVE 3 0 P)(MOVE 2 (SPECIAL XLOW))(CALL 5 (E WARNOCK))(MOVE 2 (SPECIAL SURROUNDERS-LIST))
(MOVE 1 (SPECIAL POLYGON-LIST))(CALL 2 (E CONS))(MOVE 5 -1 P)(MOVE 4 (SPECIAL YLOW))
(MOVE 3 0 P)(MOVE 2 (SPECIAL XLOW))(CALL 5 (E WARNOCK))(MOVE 2 (SPECIAL SURROUNDERS-LIST))
(MOVE 1 (SPECIAL POLYGON-LIST))(CALL 2 (E CONS))(MOVE 5 -1 P)(MOVE 4 (SPECIAL YLOW))
(MOVE 3 (SPECIAL XHIGH))(MOVE 2 0 P)(CALL 5 (E WARNOCK))(MOVEI 1 (QUOTE NIL))
G0002 (SUB P (C 0 0 2 2))(JRST 0 SPECSTR)
NIL
(LAP INITPOLY SUBR)
(CLEARM 1 (SPECIAL INTER))(CLEARM 1 (SPECIAL UNRES))(MOVEI 3 (QUOTE EDGEZ))(MOVEI 2 (QUOTE NIL))
(PUSH P 1)(CALL 3 (E PUTPROP))(MOVE 1 0 P)(CALL 1 (E INITIALIZE-PLANE-OF-POLYGON-PROPERTIES))
(MOVE 1 0 P)(CALL 1 (E INITIALIZE-CIRCUMSCRIBED-RECTANGLE-PROPERTY))(POP P 1)(CALL 1 (E ENDS-PROPERTY))
(MOVEI 1 (QUOTE NIL))(POPJ P)
NIL
(LAP HIDDEN-LINE SUBR)
(JSP 6 SPECBIND)(0 1 (SPECIAL VIEWNAME))(0 2 (SPECIAL POLYGON-LIST))(MOVEI 1 (QUOTE INITPOLY))
(CALL 2 (E MAPC))(MOVE 1 (SPECIAL POLYGON-LIST))(CALL 1 (E NCONS))(MOVEI 5 (QUOTE 512.0))
(MOVEI 4 (QUOTE -512.0))(MOVE 3 5)(MOVE 2 4)(CALL 5 (E WARNOCK))(MOVE 2 (SPECIAL POLYGON-LIST))
(MOVEI 1 (QUOTE SUPERSPLICE2))(CALL 2 (E MAPC))(MOVE 2 (SPECIAL POLYGON-LIST))(MOVEI 1 (QUOTE SUPERSPLIC}
E1))(CALL 2 (E MAPC))(MOVEI 1 (QUOTE NIL))(JRST 0 SPECSTR)
NIL